/**********************************************************************************************/
// dgt_AlgAction.cpp
//
// Common Lib for Digital Studio
// Block of management of algorithm
// Class, which represent Action of algorithm 
//
// Copyright Diamant Group 2008
/**********************************************************************************************/

#include "dgtKernel.h"
#include "dgt_Log.h"
#include "dgt_AlgAction.h"

#include <wx/arrimpl.cpp>

/**********************************************************************************************/
WX_DEFINE_OBJARRAY( dgt_AlgActArray );

/**********************************************************************************************/
dgt_AlgAction::dgt_AlgAction( unsigned		inBlock,
							  wxString		inResult,
							  unsigned		inOpCode,
							  wxArrayString	inArgList,
							  bool			inOpAttr,
							  wxString		inOpPlugName,
							  unsigned		inOpElemCode )
{
	START( "DgtKernel", "dgt_AlgAction::dgt_AlgAction" );
	LOG_PARAM( inBlock );
	LOG_PARAM( inResult );
	LOG_PARAM( inOpCode );
	LOG_PARAM( inArgList );
	LOG_PARAM( inOpAttr );
	LOG_PARAM( inOpPlugName );
	LOG_PARAM( inOpElemCode );

	m_Block = inBlock;
	m_Result = inResult;
	m_OpCode = inOpCode;
	m_ArgList = inArgList;
	m_OpAttr = inOpAttr;
	m_OpPlugName = inOpPlugName;
	m_OpElemCode = inOpElemCode;

	RETURN_VOID( "dgt_AlgAction::dgt_AlgAction" );
}

/**********************************************************************************************/
void dgt_AlgAction::set_Block( unsigned inBlock )
{
	START( "DgtKernel", "dgt_AlgAction::set_Block" );
	LOG_PARAM( inBlock );

	m_Block = inBlock;

	RETURN_VOID( "dgt_AlgAction::set_Block" );

}

/**********************************************************************************************/
unsigned dgt_AlgAction::get_Block( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_Block" );

	unsigned result;

	result = m_Block;

	RETURN( "dgt_AlgAction::get_Block", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_Result( wxString inResult  )
{
	START( "DgtKernel", "dgt_AlgAction::set_Result" );
	LOG_PARAM( inResult );

	m_Result = inResult;

	RETURN_VOID( "dgt_AlgAction::set_Result" );
}

/**********************************************************************************************/
wxString dgt_AlgAction::get_Result( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_Result" );

	wxString result;

	result = m_Result;

	RETURN( "dgt_AlgAction::get_Result", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_OpCode( unsigned inOpCode )
{
	START( "DgtKernel", "dgt_AlgAction::set_OpCode" );
	LOG_PARAM( inOpCode );

	m_OpCode = inOpCode;

	RETURN_VOID( "dgt_AlgAction::set_OpCode" );
}

/**********************************************************************************************/
unsigned dgt_AlgAction::get_OpCode( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_OpCode" );

	unsigned result;

	result = m_OpCode;

	RETURN( "dgt_AlgAction::get_OpCode", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_ArgList( wxArrayString inArgList )
{
	START( "DgtKernel", "dgt_AlgAction::set_ArgList" );
	LOG_PARAM( inArgList );

	m_ArgList = inArgList;

	RETURN_VOID( "dgt_AlgAction::set_ArgList" );
}

/**********************************************************************************************/
wxArrayString dgt_AlgAction::get_ArgList( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_ArgList" );

	wxArrayString result;

	result = m_ArgList;

	RETURN( "dgt_AlgAction::get_ArgList", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_OpAttr( bool inOpAttr )
{
	START( "DgtKernel", "dgt_AlgAction::set_OpAttr" );
	LOG_PARAM( inOpAttr );

	m_OpAttr = inOpAttr;

	RETURN_VOID( "dgt_AlgAction::set_OpAttr" );
}

/**********************************************************************************************/
bool dgt_AlgAction::get_OpAttr( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_OpAttr" );

	bool result;

	result = m_OpAttr;

	RETURN( "dgt_AlgAction::get_OpAttr", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_OpPlugName( wxString inOpPlugName )
{
	START( "DgtKernel", "dgt_AlgAction::set_OpPlugName" );
	LOG_PARAM( inOpPlugName );

	m_OpPlugName = inOpPlugName;

	RETURN_VOID( "dgt_AlgAction::set_OpPlugName" );
}

/**********************************************************************************************/
wxString dgt_AlgAction::get_OpPlugName( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_OpPlugName" );

	wxString result;

	result = m_OpPlugName;

	RETURN( "dgt_AlgAction::get_OpPlugName", result );
	return result;
}

/**********************************************************************************************/
void dgt_AlgAction::set_OpElemCode( unsigned inOpElemCode )
{
	START( "DgtKernel", "dgt_AlgAction::set_OpElemCode" );
	LOG_PARAM( inOpElemCode );

	m_OpElemCode = inOpElemCode;

	RETURN_VOID( "dgt_AlgAction::set_OpElemCode" );
}

/**********************************************************************************************/
unsigned dgt_AlgAction::get_OpElemCode( void )
{
	START( "DgtKernel", "dgt_AlgAction::get_OpElemCode" );

	unsigned result;

	result = m_OpElemCode;

	RETURN( "dgt_AlgAction::get_OpElemCode", result );
	return result;
}